Class CNNBaseModel

Inheritance Relationships

Base Type

  • public object

Derived Types

Class Documentation

encoder_decoder_model.cnn_basenet.CNNBaseModel : public object

Subclassed by encoder_decoder_model.dense_encoder.DenseEncoder, encoder_decoder_model.fcn_decoder.FCNDecoder, encoder_decoder_model.vgg_encoder.VGG16Encoder

Public Functions

__init__(self)

Base model for other specific cnn ctpn_models.

Public Static Functions

conv2d(inputdata, out_channel, kernel_size, padding='SAME', stride=1, w_init=None, b_init=None, split=1, use_bias=True, data_format='NHWC', name=None)

Packing the tensorflow conv2d function.

Parameters
  • name – op name

  • inputdata – A 4D tensorflow tensor which ust have known number of channels, but can have other unknown dimensions.

  • out_channel – number of output channel.

  • kernel_size – int so only support square kernel convolution

  • padding – ‘VALID’ or ‘SAME’

  • stride – int so only support square stride

  • w_init – initializer for convolution weights

  • b_init – initializer for bias

  • split – split channels as used in Alexnet mainly group for GPU memory save.

  • use_bias – whether to use bias.

  • data_format – default set to NHWC according tensorflow

Returns

tf.Tensor named output

relu(inputdata, name=None)
Parameters
  • name

  • inputdata

Returns

sigmoid(inputdata, name=None)
Parameters
  • name

  • inputdata

Returns

maxpooling(inputdata, kernel_size, stride=None, padding='VALID', data_format='NHWC', name=None)
Parameters
  • name

  • inputdata

  • kernel_size

  • stride

  • padding

  • data_format

Returns

avgpooling(inputdata, kernel_size, stride=None, padding='VALID', data_format='NHWC', name=None)
Parameters
  • name

  • inputdata

  • kernel_size

  • stride

  • padding

  • data_format

Returns

globalavgpooling(inputdata, data_format='NHWC', name=None)
Parameters
  • name

  • inputdata

  • data_format

Returns

layernorm(inputdata, epsilon=1e-5, use_bias=True, use_scale=True, data_format='NHWC', name=None)
Parameters
  • name

  • inputdata

  • epsilon – epsilon to avoid divide-by-zero.

  • use_bias – whether to use the extra affine transformation or not.

  • use_scale – whether to use the extra affine transformation or not.

  • data_format

Returns

instancenorm(inputdata, epsilon=1e-5, data_format='NHWC', use_affine=True, name=None)
Parameters
  • name

  • inputdata

  • epsilon

  • data_format

  • use_affine

Returns

dropout(inputdata, keep_prob, noise_shape=None, name=None)
Parameters
  • name

  • inputdata

  • keep_prob

  • noise_shape

Returns

fullyconnect(inputdata, out_dim, w_init=None, b_init=None, use_bias=True, name=None)

Fully-Connected layer, takes a N>1D tensor and returns a 2D tensor.

It is an equivalent of tf.layers.dense except for naming conventions.

Parameters
  • inputdata – a tensor to be flattened except for the first dimension.

  • out_dim – output dimension

  • w_init – initializer for w. Defaults to variance_scaling_initializer.

  • b_init – initializer for b. Defaults to zero

  • use_bias – whether to use bias.

  • name

Returns

tf.Tensor: a NC tensor named output with attribute variables.

layerbn(inputdata, is_training, name)
Parameters
  • inputdata

  • is_training

  • name

Returns

squeeze(inputdata, axis=None, name=None)
Parameters
  • inputdata

  • axis

  • name

Returns

deconv2d(inputdata, out_channel, kernel_size, padding='SAME', stride=1, w_init=None, b_init=None, use_bias=True, activation=None, data_format='channels_last', trainable=True, name=None)

Packing the tensorflow conv2d function.

Parameters
  • name – op name

  • inputdata – A 4D tensorflow tensor which ust have known number of channels, but can have other unknown dimensions.

  • out_channel – number of output channel.

  • kernel_size – int so only support square kernel convolution

  • padding – ‘VALID’ or ‘SAME’

  • stride – int so only support square stride

  • w_init – initializer for convolution weights

  • b_init – initializer for bias

  • activation – whether to apply a activation func to deconv result

  • use_bias – whether to use bias.

  • data_format – default set to NHWC according tensorflow

Returns

tf.Tensor named output

dilation_conv(input_tensor, k_size, out_dims, rate, padding='SAME', w_init=None, b_init=None, use_bias=False, name=None)
Parameters
  • input_tensor

  • k_size

  • out_dims

  • rate

  • padding

  • w_init

  • b_init

  • use_bias

  • name

Returns

spatial_dropout(input_tensor, keep_prob, is_training, name, seed=1234)

spatial dropout implementation

Parameters
  • input_tensor

  • keep_prob

  • is_training

  • name

  • seed

Returns

Returns

Returns

lrelu(inputdata, name, alpha=0.2)
Parameters
  • inputdata

  • alpha

  • name

Returns